# 定义装饰器1
def check1(fn1):
    def inner1():
        print("登陆验证1")
        fn1()

    return inner1


# 定义装饰器2
def check2(fn2):
    def inner2():
        print("登陆验证2")
        fn2()

    return inner2


# 被装饰器的函数

@check1
@check2
def comment():
    print("发表评论")


comment()

"""
控制台输出：
登陆验证1
登陆验证2
发表评论
"""

"""
小结：
多个装饰器的装饰过程是: 离函数最近的装饰器先装饰，然后外⾯的装饰器再进⾏装饰，由内到外的装饰过程
装饰器执行顺序：由外到内
"""